/*
* 回溯算法求组合
* */
const rl = require('readline').createInterface({ input: process.stdin })
const inter = rl[Symbol.asyncIterator]()
const readline = async () => (await inter.next()).value

void (async function () {
	const arr = (await readline()).split(' ').map(Number)
	
	const rst = []
	const temp = []
	
	function backtracking (arr, startIndex = 0) {
		rst.push(temp.slice())
		for (let i = startIndex; i < arr.length; i ++) {
			temp.push(arr[i])
			backtracking(arr, i + 1)
			temp.pop()
		}
	}
	
	backtracking(arr)
	
	console.log(rst)
})()

